package com.CST.config.service;

import com.baomidou.mybatisplus.extension.service.*;
import com.CST.bo.*;
import com.CST.vo.*;
import java.util.*;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author cc
 * @since 2020-07-15
 */
public interface IRemindRecordService extends IService<RemindRecord> {

    /**
     * 获取消息列表
     *
     * @param type
     * @return
     */
    List<RemindRecord> getRemindList(String type, String userName);

    /**
     * 获取消息列表
     *
     * @param type
     * @return
     */
    List<RemindRecord> getAppRemindList(String type);

    /**
     * 查看消息详情
     *
     * @param id
     * @return
     */
    RemindRecord getRemindDetail(String id);

    /**
     * 查看用户对应消息数量
     */
    List<RemindCountResponse> getRemindCountResponse(List<String> userNames);


    /**
     * 用户登录后发送消息
     *
     * @param loginCode
     */
    void sendMessageAfterLogin(String loginCode) throws InterruptedException;


    /**
     * 用户发送websocket消息
     *
     * @param loginCodes
     */
    void sendMessages(List<String> loginCodes);


    /**
     * 查询用户未读消息数量
     *
     * @param loginCode
     * @return
     */
    Integer getMsgSumByUserId(String loginCode);
}
